//
//  HLFaceBaseViewModel.h
//  YueYue
//
//  Created by hulu001 on 2024/1/11.
//

#import <Foundation/Foundation.h>
#import "HLFaceModuleDefine.h"
#import "HLFaceBaseNodeModelProvider.h"

NS_ASSUME_NONNULL_BEGIN

typedef void(^ViewModelBlock)(id _Nullable param);

@interface HLFaceBaseViewModel : NSObject<HLFaceCharacteristicProtocol>
+ (instancetype)instanceViewModel;

//根据不同子类加载不同的provider
@property (nonatomic, strong) HLFaceBaseNodeModelProvider *provider;

- (void)consumerWithData:(id)model viewModelBlock:(ViewModelBlock _Nullable)ViewModelBlock;

//加载到FURenderKit 渲染
- (void)addToRenderLoop;

//从渲染循环移除
- (void)removeFromRenderLoop;

//开始生效
- (void)startRender;
//不生效
- (void)stopRender;

/// 设置最大人脸数
- (void)resetMaxFacesNumber;

@property (nonatomic, assign) HLFaceDataType type;

//是否关闭slider
@property (nonatomic, assign) BOOL sliderHidden;

//记录当switch 开关是否开启
@property (nonatomic, assign) BOOL switchIsOn;

@end

NS_ASSUME_NONNULL_END
